<?php

class Poliza {
  var $idCotizacion             ;
  var $paqueteEmitir            ;
  
  var $arrAsegurado             ;
  var $arrContratante           ;
  var $arrConductor1            ;
  var $arrConductor2            ;
  var $arrBeneficiario          ;
  var $arrPoliza                ;
  var $arrVehiculo              ;
  var $arrFormaPago             ;
  
  var $aseguradoIgualContratante;
  var $aseguradoIgualConductor  ;
  var $requiereRecibosFiscales  ;
  var $imprimeAvisosCobro       ;
  var $username                 ;
  var $password                 ;
  
  var $arrDatos;
  var $arrTipos;
  var $arrExtraInput;
  
  function Poliza() {
    // Poner los valores como Invalidos para ver que todos esten llenos
    $strCadenaInvalido = "-- NO VALIDO --";
    
    $this->arrDatos["idCotizacion"             ] = $strCadenaInvalido;
    $this->arrDatos["paqueteEmitir"            ] = $strCadenaInvalido;
    
    $this->arrDatos["asegurado"                ]["Nombre"             ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["A_Paterno"          ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["A_Materno"          ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Sexo"           ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Fec_Nacimiento"     ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Est_Civil"      ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Edad"               ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Pais"           ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Estado"         ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Municipio"      ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Colonia"        ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Ciudad"         ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["CP"                 ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Cod_Tipo_Persona"   ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["RFC"                ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Telefono"           ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Email"              ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Tipo_Domicilio"     ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Calle"              ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Num_Exterior"       ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Num_Interior"       ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Fecha_Ini"          ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Fecha_Fin"          ] = $strCadenaInvalido;
//    $this->arrDatos["asegurado"                ]["Curp"               ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Tipo_Telefono"      ] = $strCadenaInvalido;
    
    $this->arrDatos["contratante"              ]["Cod_Tipo_Persona"   ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["A_Paterno"          ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["A_Materno"          ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Nombre"             ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Fec_Nacimiento"     ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Edad"               ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["RFC"                ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Cod_Edo_Civil"      ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Cod_Sexo"           ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Telefono"           ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Email"              ] = $strCadenaInvalido;
//    $this->arrDatos["contratante"              ]["Num_Empleado"       ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Tipo_telf"          ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Tipo_Domicilio"     ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Calle"              ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["NumExterior"        ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["NumInterior"        ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["CodEstado"          ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["CodMunicipio"       ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["CodColonia"         ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["CodCiudad"          ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["CodPostal"          ] = $strCadenaInvalido;
    
    $this->arrDatos["conductor1"               ]["A_Paterno"          ] = $strCadenaInvalido;
    $this->arrDatos["conductor1"               ]["A_Materno"          ] = $strCadenaInvalido;
    $this->arrDatos["conductor1"               ]["Nombre"             ] = $strCadenaInvalido;
    $this->arrDatos["conductor1"               ]["Fec_Nacimiento"     ] = $strCadenaInvalido;
    $this->arrDatos["conductor1"               ]["Edad"               ] = $strCadenaInvalido;
    $this->arrDatos["conductor1"               ]["Cod_Edo_Civil"      ] = $strCadenaInvalido;
    $this->arrDatos["conductor1"               ]["Cod_Sexo"           ] = $strCadenaInvalido;
    
    $this->arrDatos["conductor2"               ]["A_Paterno"          ] = $strCadenaInvalido;
    $this->arrDatos["conductor2"               ]["A_Materno"          ] = $strCadenaInvalido;
    $this->arrDatos["conductor2"               ]["Nombre"             ] = $strCadenaInvalido;
    $this->arrDatos["conductor2"               ]["Fec_Nacimiento"     ] = $strCadenaInvalido;
    $this->arrDatos["conductor2"               ]["Edad"               ] = $strCadenaInvalido;
    $this->arrDatos["conductor2"               ]["Cod_Edo_Civil"      ] = $strCadenaInvalido;
    $this->arrDatos["conductor2"               ]["Cod_Sexo"           ] = $strCadenaInvalido;
    
//    $this->arrDatos["beneficiario"             ]["Nombre"             ] = $strCadenaInvalido;
    $this->arrDatos["beneficiario"             ] = array();
    
    $this->arrDatos["poliza"                   ]["Cod_Tipo_Poliza"    ] = $strCadenaInvalido;
//    $this->arrDatos["poliza"                   ]["Desc_Poliza"        ] = $strCadenaInvalido;
    $this->arrDatos["poliza"                   ]["Cod_Tipo_Producto"  ] = $strCadenaInvalido;
    $this->arrDatos["poliza"                   ]["Fec_Vigencia_Desde" ] = $strCadenaInvalido;
    $this->arrDatos["poliza"                   ]["Fec_Vigencia_Hasta" ] = $strCadenaInvalido;
        
    $this->arrDatos["vehiculo"                 ]["SISE"               ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Cod_Marca"          ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Cod_Modelo"         ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Aaaa_Fabrica"       ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Imp_Vehiculo_Extra" ] = $strCadenaInvalido;
//    $this->arrDatos["vehiculo"                 ]["Desc_Vehiculo_Extra"] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Numero_Serie"       ] = $strCadenaInvalido;
//    $this->arrDatos["vehiculo"                 ]["NCI"                ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Placas"             ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Motor"              ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Cod_Tipo_Uso"       ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Desc_Tipo_Uso"      ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["SN_Fronterizo"      ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["DescuentoGPS"       ] = $strCadenaInvalido;
    
    $this->arrDatos["formaPago"                ]["Dia_cobro"          ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Cod_Forma_Pago"     ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Cod_Conducto_Pago"  ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Cod_Banco"          ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Numero_Cuenta"      ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Nombre_Titular"     ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Mes_Vencimiento"    ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Anio_Vencimiento"   ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["AplcPago"           ] = $strCadenaInvalido;
    
    $this->arrDatos["aseguradoIgualContratante"] = $strCadenaInvalido;
    $this->arrDatos["aseguradoIgualConductor"  ] = $strCadenaInvalido;
    $this->arrDatos["requiereRecibosFiscales"  ] = $strCadenaInvalido;
    $this->arrDatos["imprimeAvisosCobro"       ] = $strCadenaInvalido;
    $this->arrDatos["username"                 ] = $strCadenaInvalido;
    $this->arrDatos["password"                 ] = $strCadenaInvalido;
  }
  
  function LlenarExtras() {
    $this->arrExtraInput["aseguradoIgualContratante"] = "onchange='CambioAseguradoIgualContratante();'";
    $this->arrExtraInput["aseguradoIgualConductor"  ] = "onchange='CambioAseguradoIgualConductor  ();'";
  }
  
  function CrearTiposDato() {
    // Formato del campo
    // XYZ;tabla;indice;desc
    // X => T para texto, S para Select
    // Y => R para Requerido, cualquier otra para No requerido
    // Z => R para Solo lectura, Cualquier otra cosa para Escritura
    
    
    $this->arrTipos["idCotizacion"             ] = "TRR";
    $this->arrTipos["paqueteEmitir"            ] = "SRR;cat_paquetes;id_paquete;nombre";
    
    $this->arrTipos["asegurado"                ]["Nombre"             ] = "TRX";
    $this->arrTipos["asegurado"                ]["A_Paterno"          ] = "TRX";
    $this->arrTipos["asegurado"                ]["A_Materno"          ] = "TRX";
    $this->arrTipos["asegurado"                ]["Cod_Sexo"           ] = "SRX;cat_sexos;id_sexo;nombre";
    $this->arrTipos["asegurado"                ]["Fec_Nacimiento"     ] = "TRX";
    $this->arrTipos["asegurado"                ]["Cod_Est_Civil"      ] = "SRX;cat_estado_civil;id_edo_civil;nombre";
    $this->arrTipos["asegurado"                ]["Edad"               ] = "TRR";
    $this->arrTipos["asegurado"                ]["Cod_Pais"           ] = "SRX;cat_paises;id_pais;nombre";
    $this->arrTipos["asegurado"                ]["Cod_Estado"         ] = "SRX;cat_estados;id_estado;nombre";
    $this->arrTipos["asegurado"                ]["Cod_Municipio"      ] = "SRX;cat_municipios;id_municipio;nombre;id_estado;asegurado__Cod_Estado";
    $this->arrTipos["asegurado"                ]["Cod_Colonia"        ] = "SRX;cat_colonias;id_colonia;nombre;id_municipio;asegurado__Cod_Municipio;id_estado;asegurado__Cod_Estado";
    $this->arrTipos["asegurado"                ]["Cod_Ciudad"         ] = "SRX;cat_ciudad_colonias;id_ciudad;nombre;id_colonia;asegurado__Cod_Colonia;id_municipio;asegurado__Cod_Municipio;id_estado;asegurado__Cod_Estado";
    $this->arrTipos["asegurado"                ]["CP"                 ] = "TRX";
    $this->arrTipos["asegurado"                ]["Cod_Tipo_Persona"   ] = "SRR;cat_tipos_persona;id_tipo_persona;nombre";
    $this->arrTipos["asegurado"                ]["RFC"                ] = "TRX";
    $this->arrTipos["asegurado"                ]["Telefono"           ] = "TRX";
    $this->arrTipos["asegurado"                ]["Email"              ] = "TRX";
    $this->arrTipos["asegurado"                ]["Tipo_Domicilio"     ] = "SRX;cat_tipos_dir;id_tipo_dir;nombre";
    $this->arrTipos["asegurado"                ]["Calle"              ] = "TRX";
    $this->arrTipos["asegurado"                ]["Num_Exterior"       ] = "TRX";
    $this->arrTipos["asegurado"                ]["Num_Interior"       ] = "TXX";
    $this->arrTipos["asegurado"                ]["Fecha_Ini"          ] = "TRR";
    $this->arrTipos["asegurado"                ]["Fecha_Fin"          ] = "TRR";
    $this->arrTipos["asegurado"                ]["Curp"               ] = "TXX";
    $this->arrTipos["asegurado"                ]["Tipo_Telefono"      ] = "SRX;cat_tipos_telefono;id_tipo_telefono;nombre";
    
    $this->arrTipos["contratante"              ]["Cod_Tipo_Persona"   ] = "SRR;cat_tipos_persona;id_tipo_persona;nombre";
    $this->arrTipos["contratante"              ]["A_Paterno"          ] = "TRX"; // X
    $this->arrTipos["contratante"              ]["A_Materno"          ] = "TRX"; // X
    $this->arrTipos["contratante"              ]["Nombre"             ] = "TRX"; // X
    $this->arrTipos["contratante"              ]["Fec_Nacimiento"     ] = "TRR";
    $this->arrTipos["contratante"              ]["Edad"               ] = "TRR";
    $this->arrTipos["contratante"              ]["RFC"                ] = "TRX";
    $this->arrTipos["contratante"              ]["Cod_Edo_Civil"      ] = "SRX;cat_estado_civil;id_edo_civil;nombre";
    $this->arrTipos["contratante"              ]["Cod_Sexo"           ] = "SRX;cat_sexos;id_sexo;nombre";
    $this->arrTipos["contratante"              ]["Telefono"           ] = "TRX"; // X
    $this->arrTipos["contratante"              ]["Email"              ] = "TRX"; // X
    $this->arrTipos["contratante"              ]["Num_Empleado"       ] = "HRX";
    $this->arrTipos["contratante"              ]["Tipo_telf"          ] = "SRX;cat_tipos_telefono;id_tipo_telefono;nombre";
    $this->arrTipos["contratante"              ]["Tipo_Domicilio"     ] = "SRX;cat_tipos_dir;id_tipo_dir;nombre";
    $this->arrTipos["contratante"              ]["Calle"              ] = "TRX";
    $this->arrTipos["contratante"              ]["NumExterior"        ] = "TRX";
    $this->arrTipos["contratante"              ]["NumInterior"        ] = "TXX";
    $this->arrTipos["contratante"              ]["CodEstado"          ] = "SRR;cat_estados;id_estado;nombre";
    $this->arrTipos["contratante"              ]["CodMunicipio"       ] = "SRR;cat_municipios;id_municipio;nombre;id_estado;contratante__CodEstado";
    $this->arrTipos["contratante"              ]["CodColonia"         ] = "SRR;cat_colonias;id_colonia;nombre;id_municipio;contratante__CodMunicipio;id_estado;contratante__CodEstado";
//    $this->arrTipos["contratante"              ]["CodCiudad"          ] = "SRR;cat_ciudad_colonias;id_ciudad;nombre;id_colonia;contratante__CodColonia;id_municipio;contratante__CodMunicipio;id_estado;contratante__CodEstado";
    $this->arrTipos["contratante"              ]["CodCiudad"          ] = "SRR;cat_ciudad_colonias;id_ciudad;nombre;id_municipio;contratante__CodMunicipio;id_estado;contratante__CodEstado";
    $this->arrTipos["contratante"              ]["CodPostal"          ] = "TRR";
    
    $this->arrTipos["conductor1"               ]["A_Paterno"          ] = "TRX";
    $this->arrTipos["conductor1"               ]["A_Materno"          ] = "TRX";
    $this->arrTipos["conductor1"               ]["Nombre"             ] = "TRX";
    $this->arrTipos["conductor1"               ]["Fec_Nacimiento"     ] = "TRX";
    $this->arrTipos["conductor1"               ]["Edad"               ] = "TRR";
    $this->arrTipos["conductor1"               ]["Cod_Edo_Civil"      ] = "SRX;cat_estado_civil;id_edo_civil;nombre";
    $this->arrTipos["conductor1"               ]["Cod_Sexo"           ] = "SRX;cat_sexos;id_sexo;nombre";
    
    $this->arrTipos["conductor2"               ]["A_Paterno"          ] = "TXX";
    $this->arrTipos["conductor2"               ]["A_Materno"          ] = "TXX";
    $this->arrTipos["conductor2"               ]["Nombre"             ] = "TXX";
    $this->arrTipos["conductor2"               ]["Fec_Nacimiento"     ] = "TXX";
    $this->arrTipos["conductor2"               ]["Edad"               ] = "TXR";
    $this->arrTipos["conductor2"               ]["Cod_Edo_Civil"      ] = "SXX;cat_estado_civil;id_edo_civil;nombre";
    $this->arrTipos["conductor2"               ]["Cod_Sexo"           ] = "SXX;cat_sexos;id_sexo;nombre";
    
    $this->arrTipos["beneficiario"             ]["Nombre"             ] = "TXX";
    
    $this->arrTipos["poliza"                   ]["Cod_Tipo_Poliza"    ] = "HXX";
    $this->arrTipos["poliza"                   ]["Desc_Poliza"        ] = "HXX";
    $this->arrTipos["poliza"                   ]["Cod_Tipo_Producto"  ] = "SRR;cat_tipos_producto;id_tipo_producto;descripcion";
    $this->arrTipos["poliza"                   ]["Fec_Vigencia_Desde" ] = "TRR";
    $this->arrTipos["poliza"                   ]["Fec_Vigencia_Hasta" ] = "TRR";
        
    $this->arrTipos["vehiculo"                 ]["SISE"               ] = "TRR";
    $this->arrTipos["vehiculo"                 ]["Cod_Marca"          ] = "SRR;cat_marcas;id_marca;nombre";
    $this->arrTipos["vehiculo"                 ]["Cod_Modelo"         ] = "SRR;cat_modelos;id_modelo;nombre;id_marca;vehiculo__Cod_Marca";
    $this->arrTipos["vehiculo"                 ]["Aaaa_Fabrica"       ] = "TRR";
    $this->arrTipos["vehiculo"                 ]["Imp_Vehiculo_Extra" ] = "HXX";
    $this->arrTipos["vehiculo"                 ]["Desc_Vehiculo_Extra"] = "HXX";
    $this->arrTipos["vehiculo"                 ]["Numero_Serie"       ] = "TRX";
    $this->arrTipos["vehiculo"                 ]["NCI"                ] = "HXX";
    $this->arrTipos["vehiculo"                 ]["Placas"             ] = "HXX";
    $this->arrTipos["vehiculo"                 ]["Motor"              ] = "TXX";
    $this->arrTipos["vehiculo"                 ]["Cod_Tipo_Uso"       ] = "HRR";
    $this->arrTipos["vehiculo"                 ]["Desc_Tipo_Uso"      ] = "HRR";
    $this->arrTipos["vehiculo"                 ]["SN_Fronterizo"      ] = "HXX";
    $this->arrTipos["vehiculo"                 ]["DescuentoGPS"       ] = "HXX";
    
    $this->arrTipos["formaPago"                ]["Dia_cobro"          ] = "TRR";
    $this->arrTipos["formaPago"                ]["Cod_Forma_Pago"     ] = "SRR;cat_formas_pago;id_forma_pago;nombre";
    $this->arrTipos["formaPago"                ]["Cod_Conducto_Pago"  ] = "SRR;cat_conductos_pago;id_conducto_pago;nombre";
    $this->arrTipos["formaPago"                ]["Cod_Banco"          ] = "SRX;cat_bancos;id_banco;nombre";
    $this->arrTipos["formaPago"                ]["Numero_Cuenta"      ] = "TRX";
    $this->arrTipos["formaPago"                ]["Nombre_Titular"     ] = "TRX";
    $this->arrTipos["formaPago"                ]["Mes_Vencimiento"    ] = "TRX";
    $this->arrTipos["formaPago"                ]["Anio_Vencimiento"   ] = "TRX";
    $this->arrTipos["formaPago"                ]["AplcPago"           ] = "HRX";
    
    $this->arrTipos["aseguradoIgualContratante"] = "CRX";
    $this->arrTipos["aseguradoIgualConductor"  ] = "CRX";
    $this->arrTipos["requiereRecibosFiscales"  ] = "CRX";
    $this->arrTipos["imprimeAvisosCobro"       ] = "CRX";
    $this->arrTipos["username"                 ] = "HRX";
    $this->arrTipos["password"                 ] = "HRX";
  }
  
  function GenerarInputSolo($strNombre1, $strNombre2, $strVal) {
    static $arrValores = array();
    
    if($strNombre2 != "") {
      $strInputName = "datos[{$strNombre1}][$strNombre2]";
      $strInputID   = "{$strNombre1}__{$strNombre2}";
      $strInputRef  = $this->arrTipos[$strNombre1][$strNombre2];
      $strExtra     = $this->arrExtraInput[$strNombre1][$strNombre2];
    } else {
      $strInputName = "datos[$strNombre1]";
      $strInputID   = "$strNombre1";
      $strInputRef  = $this->arrTipos[$strNombre1];
      $strExtra     = $this->arrExtraInput[$strNombre1];
    }
    
    $arrValores[$strInputID] = $strVal;
    
    switch(substr($strInputRef, 1, 1)) {
      case 'R':
        $strRequerido = "required";
        break;
      default:
        $strRequerido = "";
        break;
    }
    
    $strRes = "";
    switch(substr($strInputRef, 0, 1)) {
      case "T":
        if(substr($strInputRef, 2, 1) == "R") {
          $strRes .= "<span><b>$strVal</b></span>";
          $strRes .= "<input type='hidden' name='$strInputName' value='$strVal' id='$strInputID' />";
        } else {
          $strRes .= "<input type='text' class='UpperCase' name='$strInputName' value='$strVal' id='$strInputID' $strRequerido $strExtra />";
        }
        break;
      case "S":
        $arrInfoTabla   = explode(";", $strInputRef);
        $strColIndices  = $arrInfoTabla[2];
        $strSelecciones = $strVal - 0;
        for($i = 4; $i < count($arrInfoTabla); $i += 2) {
          $strColIndices  .= "," . $arrInfoTabla[$i];
          $strSelecciones .= "," . ($arrValores[$arrInfoTabla[$i + 1]] - 0);
        }
        
        if(substr($strInputRef, 2, 1) == "R") {
          $strVal2 = Variables::GetValueByTableMultipleIndex($arrInfoTabla[1], $strColIndices, $arrInfoTabla[3], $strSelecciones);
          $strRes .= "<span><b>$strVal2</b></span>";
          $strRes .= "<input type='hidden' name='$strInputName' value='$strVal' id='$strInputID' />";
        } else {
          $strRes .= Variables::GetSelectByTable($arrInfoTabla[1], $strColIndices, $arrInfoTabla[3], $strSelecciones, $strInputName, "id='$strInputID' $strExtra");
        }
        break;
      case "H":
        $strRes .= "<input type='hidden' name='$strInputName' value='$strVal' id='$strInputID' />";
        break;
      case "C":
        if($strVal) {
          $strChecked = "checked";
        } else {
          $strChecked = "";
        }
        if(substr($strInputRef, 2, 1) == "R") {
          if($strVal) {
            $strRes .= "<span><b>SI</b></span>";
            $strRes .= "<input type='hidden' name='$strInputName' value='1' id='$strInputID' $strRequerido />";
          } else {
            $strRes .= "<span><b>NO</b></span>";
            $strRes .= "<input type='hidden' name='$strInputName' value='0' id='$strInputID' $strRequerido />";
          }
        } else {
          $strRes .= "<input type='checkbox' name='$strInputName' value='1' $strChecked id='$strInputID' $strExtra />";
        }
        break;
    }
    
    return $strRes;
  }
  
  function GenerarInputs() {
    $arrRes = array();
//    prent_r($this->arrDatos);
    $this->CrearTiposDato();
    $this->LlenarExtras();
    
//    prent_r($this->arrDatos);
    
    if($this->arrDatos["formaPago"]["Cod_Conducto_Pago"] == "1") {
      // Efectivo, no se muestra lo de la tarjeta de credito
      $this->arrTipos["formaPago"]["Dia_cobro"          ] = "HRR";
      $this->arrTipos["formaPago"]["Cod_Forma_Pago"     ] = "SRR;cat_formas_pago;id_forma_pago;nombre";
      $this->arrTipos["formaPago"]["Cod_Conducto_Pago"  ] = "SRR;cat_conductos_pago;id_conducto_pago;nombre";
      $this->arrTipos["formaPago"]["Cod_Banco"          ] = "SXR;cat_bancos;id_banco;nombre";
      $this->arrTipos["formaPago"]["Numero_Cuenta"      ] = "HXX";
      $this->arrTipos["formaPago"]["Nombre_Titular"     ] = "HXX";
      $this->arrTipos["formaPago"]["Mes_Vencimiento"    ] = "HXX";
      $this->arrTipos["formaPago"]["Anio_Vencimiento"   ] = "HXX";
      $this->arrTipos["formaPago"]["AplcPago"           ] = "HRX";
    } else {
      // Tarjeta de credito, Validar
    }
    
    foreach($this->arrDatos as $strNombre => $strValor) {
      if(is_array($strValor)) {
        foreach($strValor as $strN2 => $strV2) {
          $arrRes["{$strNombre}__{$strN2}"] = $this->GenerarInputSolo($strNombre, $strN2, $strV2);
        }
      } else {
        $arrRes[$strNombre] = $this->GenerarInputSolo($strNombre, "", $strValor);
      }
    }
    
    return $arrRes;
  }
  
  function GenerarEmision() {
    $strRes = "";
    $strRes .= "<GenerarEmision>";
    foreach($this->arrDatos as $strNombre => $strValor) {
      if(is_array($strValor)) {
        $strRes .= "<$strNombre>";
        foreach($strValor as $strN2 => $strV2) {
          $strRes .= "<$strN2>$strV2</$strN2>";
        }
        $strRes .= "</$strNombre>";
      } else {
        $strRes .= "<$strNombre>$strValor</$strNombre>";
      }
    }
    $strRes .= "</GenerarEmision>";
    
    return $strRes;
  }
  
  function ConsolidarArrDatos() {
    $oPolizaNuevo = new Poliza();
    $arrDatosTmp = $this->arrDatos;
    unset($this->arrDatos);
    foreach($oPolizaNuevo->arrDatos as $strNombre => $strValor) {
      if(is_array($strValor)) {
        foreach($strValor as $strNombre2 => $strValor2) {
          $this->arrDatos[$strNombre][$strNombre2] = $arrDatosTmp[$strNombre][$strNombre2];
        }
      } else {
        $this->arrDatos[$strNombre] = $arrDatosTmp[$strNombre];
      }
    }
  }
  
  function CargarDesde($intIdDatoCot) {
    $oConecta    = new Conecta();
    $strConsulta = "SELECT * FROM cotizaciones WHERE id_dato_cotizacion = $intIdDatoCot";
    $oConecta->Consulta($strConsulta);
    $oCotiza     = new Cotizaciones($oConecta->Field('id_cotizacion'));
    $arrDatos    = unserialize($oCotiza->strSerializedData);
    
    $strConsulta  = "";
    $strConsulta .= "SELECT * ";
    $strConsulta .= "FROM cat_ciudad_colonias ";
    $strConsulta .= "WHERE id_estado    = {$oCotiza->intDeEstado   } ";
//    $strConsulta .= "  AND id_colonia   = {$oCotiza->intDeColonia  } ";
    $strConsulta .= "  AND id_municipio = {$oCotiza->intIdMunicipio} ";
//    die($strConsulta);
    $oConecta->Consulta($strConsulta);
    $arrDatosCiudad = $oConecta->GetColumn();
//    prent_r($arrDatosCiudad);
    
//    prent_r($this->arrDatos);
    
    $strCadenaInvalido = "";
    
    $this->arrDatos["idCotizacion"             ] = $arrDatos["Cotizacion"]["cod_Cotizacion"];
    $this->LlenarDefaults();
    
    if(Variables::GetOption('tipo') == "Basico") {
      $strTipo = "RC";
    } else {
      $strTipo = Variables::GetOption('tipo');
    }
    $strConsulta = "SELECT id_paquete FROM cat_paquetes WHERE nombre = '$strTipo'";
    $oConecta->Consulta($strConsulta);
    $this->arrDatos["paqueteEmitir"            ] = $oConecta->Field('id_paquete');
//    $this->arrDatos["paqueteEmitir"            ] = "2"; //$arrDatos["Importes"  ][0]["cod_Paquete"];
//    $this->arrDatos["paqueteEmitir"            ] = $arrDatos["Importes"  ][0]["cod_Paquete"];
    
    $this->arrDatos["contratante"              ]["Cod_Tipo_Persona"   ] = "1";
    $this->arrDatos["contratante"              ]["A_Paterno"          ] = $oCotiza->strAPaterno;
    $this->arrDatos["contratante"              ]["A_Materno"          ] = $oCotiza->strAMaterno;
    $this->arrDatos["contratante"              ]["Nombre"             ] = $oCotiza->strNombre;
    $this->arrDatos["contratante"              ]["Fec_Nacimiento"     ] = date("Y-m-d", strtotime($oCotiza->dteDeFecNac));
    $this->arrDatos["contratante"              ]["Edad"               ] = Variables::AniosDesdeFecha($oCotiza->dteDeFecNac);
    $this->arrDatos["contratante"              ]["RFC"                ] = strtoupper(substr(trim($oCotiza->strAPaterno), 0, 2) . substr(trim($oCotiza->strAMaterno), 0, 1) . substr(trim($oCotiza->strNombre), 0, 1) . substr(date("Ymd", strtotime($oCotiza->dteDeFecNac)), 2)) . "XXX";
//    $this->arrDatos["contratante"              ]["Cod_Edo_Civil"      ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["Cod_Sexo"           ] = $oCotiza->intDeSexo;
    $this->arrDatos["contratante"              ]["Telefono"           ] = $oCotiza->strTelefono;
    $this->arrDatos["contratante"              ]["Email"              ] = $oCotiza->strDeEmail;
    $this->arrDatos["contratante"              ]["Num_Empleado"       ] = $strCadenaInvalido;
//    $this->arrDatos["contratante"              ]["Tipo_telf"          ] = $strCadenaInvalido;
//    $this->arrDatos["contratante"              ]["Tipo_Domicilio"     ] = $strCadenaInvalido;
//    $this->arrDatos["contratante"              ]["Calle"              ] = $strCadenaInvalido;
//    $this->arrDatos["contratante"              ]["NumExterior"        ] = $strCadenaInvalido;
    $this->arrDatos["contratante"              ]["NumInterior"        ] = "1";
    $this->arrDatos["contratante"              ]["CodEstado"          ] = $oCotiza->intDeEstado;
    $this->arrDatos["contratante"              ]["CodMunicipio"       ] = $oCotiza->intIdMunicipio;
    $this->arrDatos["contratante"              ]["CodColonia"         ] = $oCotiza->intDeColonia;
    $this->arrDatos["contratante"              ]["CodCiudad"          ] = $arrDatosCiudad["id_ciudad"];
    $this->arrDatos["contratante"              ]["CodPostal"          ] = $oCotiza->strDeCP;
    
    $this->arrDatos["asegurado"                ]["Nombre"             ] = $this->arrDatos["contratante"              ]["Nombre"             ];
    $this->arrDatos["asegurado"                ]["A_Paterno"          ] = $this->arrDatos["contratante"              ]["A_Paterno"          ];
    $this->arrDatos["asegurado"                ]["A_Materno"          ] = $this->arrDatos["contratante"              ]["A_Materno"          ];
    $this->arrDatos["asegurado"                ]["Cod_Sexo"           ] = $this->arrDatos["contratante"              ]["Cod_Sexo"           ];
    $this->arrDatos["asegurado"                ]["Fec_Nacimiento"     ] = $this->arrDatos["contratante"              ]["Fec_Nacimiento"     ];
    $this->arrDatos["asegurado"                ]["Cod_Est_Civil"      ] = $this->arrDatos["contratante"              ]["Cod_Edo_Civil"      ];
    $this->arrDatos["asegurado"                ]["Edad"               ] = $this->arrDatos["contratante"              ]["Edad"               ];
    $this->arrDatos["asegurado"                ]["Cod_Pais"           ] = "10";
    $this->arrDatos["asegurado"                ]["Cod_Estado"         ] = $this->arrDatos["contratante"              ]["CodEstado"          ];
    $this->arrDatos["asegurado"                ]["Cod_Municipio"      ] = $this->arrDatos["contratante"              ]["CodMunicipio"       ];
    $this->arrDatos["asegurado"                ]["Cod_Colonia"        ] = $this->arrDatos["contratante"              ]["CodColonia"         ];
    $this->arrDatos["asegurado"                ]["Cod_Ciudad"         ] = $this->arrDatos["contratante"              ]["CodCiudad"          ];
    $this->arrDatos["asegurado"                ]["CP"                 ] = $this->arrDatos["contratante"              ]["CodPostal"          ];
    $this->arrDatos["asegurado"                ]["Cod_Tipo_Persona"   ] = $this->arrDatos["contratante"              ]["Cod_Tipo_Persona"   ];
    $this->arrDatos["asegurado"                ]["RFC"                ] = $this->arrDatos["contratante"              ]["RFC"                ];
    $this->arrDatos["asegurado"                ]["Telefono"           ] = $this->arrDatos["contratante"              ]["Telefono"           ];
    $this->arrDatos["asegurado"                ]["Email"              ] = $this->arrDatos["contratante"              ]["Email"              ];
    $this->arrDatos["asegurado"                ]["Tipo_Domicilio"     ] = $this->arrDatos["contratante"              ]["Tipo_Domicilio"     ];
    $this->arrDatos["asegurado"                ]["Calle"              ] = $this->arrDatos["contratante"              ]["Calle"              ];
    $this->arrDatos["asegurado"                ]["Num_Exterior"       ] = $this->arrDatos["contratante"              ]["NumExterior"        ];
    $this->arrDatos["asegurado"                ]["Num_Interior"       ] = $this->arrDatos["contratante"              ]["NumInterior"        ];
    $this->arrDatos["asegurado"                ]["Fecha_Ini"          ] = substr($arrDatos["Cotizacion"]["fec_Cotizacion"    ], 0, 10);
    $this->arrDatos["asegurado"                ]["Fecha_Fin"          ] = substr($arrDatos["Cotizacion"]["fec_Ven_Cotizacion"], 0, 10);
//    $this->arrDatos["asegurado"                ]["Curp"               ] = $strCadenaInvalido;
    $this->arrDatos["asegurado"                ]["Tipo_Telefono"      ] = $this->arrDatos["contratante"              ]["Tipo_telf"          ];
    
    $this->arrDatos["conductor1"               ]["A_Paterno"          ] = $this->arrDatos["contratante"              ]["A_Paterno"          ];
    $this->arrDatos["conductor1"               ]["A_Materno"          ] = $this->arrDatos["contratante"              ]["A_Materno"          ];
    $this->arrDatos["conductor1"               ]["Nombre"             ] = $this->arrDatos["contratante"              ]["Nombre"             ];
    $this->arrDatos["conductor1"               ]["Fec_Nacimiento"     ] = $this->arrDatos["contratante"              ]["Fec_Nacimiento"     ];
    $this->arrDatos["conductor1"               ]["Edad"               ] = $this->arrDatos["contratante"              ]["Edad"               ];
    $this->arrDatos["conductor1"               ]["Cod_Edo_Civil"      ] = $this->arrDatos["contratante"              ]["Cod_Edo_Civil"      ];
    $this->arrDatos["conductor1"               ]["Cod_Sexo"           ] = $this->arrDatos["contratante"              ]["Cod_Sexo"           ];
    
    $this->arrDatos["conductor2"               ]["A_Paterno"          ] = "";
    $this->arrDatos["conductor2"               ]["A_Materno"          ] = "";
    $this->arrDatos["conductor2"               ]["Nombre"             ] = "";
    $this->arrDatos["conductor2"               ]["Fec_Nacimiento"     ] = "";
    $this->arrDatos["conductor2"               ]["Edad"               ] = "";
    $this->arrDatos["conductor2"               ]["Cod_Edo_Civil"      ] = "";
    $this->arrDatos["conductor2"               ]["Cod_Sexo"           ] = "";
    
//    $this->arrDatos["beneficiario"             ]["Nombre"             ] = $strCadenaInvalido;
    
    $this->arrDatos["poliza"                   ]["Cod_Tipo_Poliza"    ] = "0";
    $this->arrDatos["poliza"                   ]["Desc_Poliza"        ] = $strCadenaInvalido;
    $this->arrDatos["poliza"                   ]["Cod_Tipo_Producto"  ] = "12";
    $this->arrDatos["poliza"                   ]["Fec_Vigencia_Desde" ] = substr($arrDatos["Cotizacion"]["fec_Cotizacion"    ], 0, 10);
    $this->arrDatos["poliza"                   ]["Fec_Vigencia_Hasta" ] = substr($arrDatos["Cotizacion"]["fec_Ven_Cotizacion"], 0, 10);
        
    $this->arrDatos["vehiculo"                 ]["SISE"               ] = $oCotiza->intDeSisa;
    $this->arrDatos["vehiculo"                 ]["Cod_Marca"          ] = $oCotiza->intDeMarca;
    $this->arrDatos["vehiculo"                 ]["Cod_Modelo"         ] = $arrDatos["Cotizacion"]["modelo"];
    $this->arrDatos["vehiculo"                 ]["Aaaa_Fabrica"       ] = $oCotiza->intDeMarcaAnio;
    $this->arrDatos["vehiculo"                 ]["Imp_Vehiculo_Extra" ] = "0";
    $this->arrDatos["vehiculo"                 ]["Desc_Vehiculo_Extra"] = $strCadenaInvalido;
//    $this->arrDatos["vehiculo"                 ]["Numero_Serie"       ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["NCI"                ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Placas"             ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Motor"              ] = $strCadenaInvalido;
    $this->arrDatos["vehiculo"                 ]["Cod_Tipo_Uso"       ] = "1";
    $this->arrDatos["vehiculo"                 ]["Desc_Tipo_Uso"      ] = "Personal";
    $this->arrDatos["vehiculo"                 ]["SN_Fronterizo"      ] = "false";
    $this->arrDatos["vehiculo"                 ]["DescuentoGPS"       ] = "false";
    
    $this->arrDatos["formaPago"                ]["Dia_cobro"          ] = "15";
    $this->arrDatos["formaPago"                ]["Cod_Forma_Pago"     ] = $arrDatos["Cotizacion"]["cod_Forma_Pago"   ];
    $this->arrDatos["formaPago"                ]["Cod_Conducto_Pago"  ] = $arrDatos["Cotizacion"]["cod_Conducto_Pago"];
    $this->arrDatos["formaPago"                ]["Cod_Banco"          ] = "14";
    $this->arrDatos["formaPago"                ]["Numero_Cuenta"      ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Nombre_Titular"     ] = $strCadenaInvalido;
    $this->arrDatos["formaPago"                ]["Mes_Vencimiento"    ] = "0";
    $this->arrDatos["formaPago"                ]["Anio_Vencimiento"   ] = "0";
    $this->arrDatos["formaPago"                ]["AplcPago"           ] = "true";
    
    $this->arrDatos["aseguradoIgualContratante"] = "0";
    $this->arrDatos["aseguradoIgualConductor"  ] = "0";
    $this->arrDatos["requiereRecibosFiscales"  ] = "1";
    $this->arrDatos["imprimeAvisosCobro"       ] = "1";
    
    global $strGSAIGUser, $strGSAIGPass;
    $this->arrDatos["username"                 ] = $strGSAIGUser;
    $this->arrDatos["password"                 ] = $strGSAIGPass;
    
  }
  
  function LlenarDefaults() {
/*
    $this->arrDatos["contratante"              ]["RFC"                ] = "CETJ8109245TA";
    $this->arrDatos["contratante"              ]["Calle"              ] = "Pensamiento";
    $this->arrDatos["contratante"              ]["NumExterior"        ] = "212";
    
    $this->arrDatos["asegurado"                ]["Curp"               ] = "CETJ8109245TA";
    
    $this->arrDatos["beneficiario"             ]["Nombre"             ] = "Mariana";
    $this->arrDatos["vehiculo"                 ]["Numero_Serie"       ] = "34441";
//    $this->arrDatos["vehiculo"                 ]["Numero_Serie"       ] = $this->arrDatos["idCotizacion"];
//    $this->arrDatos["vehiculo"                 ]["Numero_Serie"       ] = rand(100000, 999999);
//  */
//*
    $this->arrDatos["contratante"              ]["RFC"                ] = "";
    $this->arrDatos["contratante"              ]["Calle"              ] = "";
    $this->arrDatos["contratante"              ]["NumExterior"        ] = "";
    
    $this->arrDatos["asegurado"                ]["Curp"               ] = "";
    
//    $this->arrDatos["beneficiario"             ]["Nombre"             ] = "";
    $this->arrDatos["vehiculo"                 ]["Numero_Serie"       ] = "";
//  */
  }
  
  static function PonerFectaT($strFecha, $strHora = "00:00:00") {
    if($strFecha) {
      return "{$strFecha}T{$strHora}";
    } else {
      return "0001-01-01T{$strHora}";
    }
  }
  
  function LlenarDesdeArreglo($arrDatos) {
//    $arrDatos["idCotizacion"] = "34441";
//    $arrDatos["vehiculo" ]["Numero_Serie"] = $arrDatos["idCotizacion"];
    
    $arrDatos["asegurado"]["Cod_Estado"   ] = $arrDatos["contratante"]["CodEstado"   ];
    $arrDatos["asegurado"]["Cod_Municipio"] = $arrDatos["contratante"]["CodMunicipio"];
    $arrDatos["asegurado"]["Cod_Colonia"  ] = $arrDatos["contratante"]["CodColonia"  ];
    $arrDatos["asegurado"]["Cod_Ciudad"   ] = $arrDatos["contratante"]["CodCiudad"   ];
    // Primero cambiamos los datos de fechas para que tengan el formato necesario, y ponemos datos estaticos
    
//*
    $arrDatos["asegurado"  ]["Cod_Pais"          ] = "0";
    $arrDatos["asegurado"  ]["Edad"              ] = "0";
    $arrDatos["contratante"]["Edad"              ] = "0";
    $arrDatos["conductor1" ]["Edad"              ] = "0";
    $arrDatos["conductor2" ]["Edad"              ] = "0";
//    */
    
    $arrDatos["contratante"]["Fec_Nacimiento"    ] = Poliza::PonerFectaT($arrDatos["contratante"]["Fec_Nacimiento"    ]);
    $arrDatos["asegurado"  ]["Fec_Nacimiento"    ] = Poliza::PonerFectaT($arrDatos["asegurado"  ]["Fec_Nacimiento"    ]);
    $arrDatos["asegurado"  ]["Fecha_Ini"         ] = Poliza::PonerFectaT($arrDatos["asegurado"  ]["Fecha_Ini"         ], "00:00:00");
    $arrDatos["asegurado"  ]["Fecha_Fin"         ] = Poliza::PonerFectaT($arrDatos["asegurado"  ]["Fecha_Fin"         ], "00:00:00");
    $arrDatos["conductor1" ]["Fec_Nacimiento"    ] = Poliza::PonerFectaT($arrDatos["conductor1" ]["Fec_Nacimiento"    ]);
    $arrDatos["conductor2" ]["Fec_Nacimiento"    ] = Poliza::PonerFectaT($arrDatos["conductor2" ]["Fec_Nacimiento"    ]);
    $arrDatos["poliza"     ]["Fec_Vigencia_Desde"] = Poliza::PonerFectaT($arrDatos["poliza"     ]["Fec_Vigencia_Desde"], "00:00:00");
    $arrDatos["poliza"     ]["Fec_Vigencia_Hasta"] = Poliza::PonerFectaT($arrDatos["poliza"     ]["Fec_Vigencia_Hasta"], "00:00:00");
    
    $arrDatos["asegurado"  ]["CP"                ] = sprintf("%05d", $arrDatos["asegurado"  ]["CP"       ]);
    $arrDatos["contratante"]["CodPostal"         ] = sprintf("%05d", $arrDatos["contratante"]["CodPostal"]);
    
    
    // Checar si el asegurado es el contratante
    if($arrDatos["aseguradoIgualContratante"]) {
      /*
      $arrDatos["contratante"]["Fec_Nacimiento"] = "0001-01-01T00:00:00";
      $arrDatos["contratante"]["Edad"          ] = "0";
      $arrDatos["contratante"]["Cod_Edo_Civil" ] = "0";
      $arrDatos["contratante"]["Cod_Sexo"      ] = "0";
      $arrDatos["contratante"]["Tipo_telf"     ] = "0";
      $arrDatos["contratante"]["Tipo_Domicilio"] = "0";
      $arrDatos["contratante"]["CodEstado"     ] = "0";
      $arrDatos["contratante"]["CodMunicipio"  ] = "0";
      $arrDatos["contratante"]["CodColonia"    ] = "0";
      $arrDatos["contratante"]["CodCiudad"     ] = "0";
       */
    }
    
    if($arrDatos["aseguradoIgualConductor"]) {
      /*
      $arrDatos["conductor1"]["Fec_Nacimiento"] = "0001-01-01T00:00:00";
      $arrDatos["conductor1"]["Edad"          ] = "0";
      $arrDatos["conductor1"]["Cod_Edo_Civil" ] = "0";
      $arrDatos["conductor1"]["Cod_Sexo"      ] = "0";
      $arrDatos["conductor2"]["Fec_Nacimiento"] = "0001-01-01T00:00:00";
      $arrDatos["conductor2"]["Edad"          ] = "0";
      $arrDatos["conductor2"]["Cod_Edo_Civil" ] = "0";
      $arrDatos["conductor2"]["Cod_Sexo"      ] = "0";
      */
    }
    
    foreach($this->arrDatos as $strNombre => $strValor) {
      if(is_array($strValor)) {
        foreach($strValor as $strN2 => $strV2) {
          $this->arrDatos[$strNombre][$strN2] = $arrDatos[$strNombre][$strN2];
        }
      } else {
        $this->arrDatos[$strNombre] = $arrDatos[$strNombre];
      }
    }
    
//    prent_r($this->arrDatos);
    
    if($this->arrDatos["aseguradoIgualContratante"] == "1") { $this->arrDatos["aseguradoIgualContratante"] = "true"; } else { $this->arrDatos["aseguradoIgualContratante"] = "false"; }
    if($this->arrDatos["aseguradoIgualConductor"  ] == "1") { $this->arrDatos["aseguradoIgualConductor"  ] = "true"; } else { $this->arrDatos["aseguradoIgualConductor"  ] = "false"; }
    if($this->arrDatos["requiereRecibosFiscales"  ] == "1") { $this->arrDatos["requiereRecibosFiscales"  ] = "true"; } else { $this->arrDatos["requiereRecibosFiscales"  ] = "false"; }
    if($this->arrDatos["imprimeAvisosCobro"       ] == "1") { $this->arrDatos["imprimeAvisosCobro"       ] = "true"; } else { $this->arrDatos["imprimeAvisosCobro"       ] = "false"; }
    
//    prent_r($this->arrDatos);
  }
  
  function Mostrar($intIdEntrada = -1) {
    if($intIdEntrada != -1) {
      $strOpcionSig = "cotizador_qualitas";
      $strPasoAnt = "3";
      $strPasoSig = "9";
    } else {
      $intIdEntrada = Variables::GetOption('id');
      $strOpcionSig = "cotizador";
      $strPasoAnt = "5";
      $strPasoSig = "8";
    }
    $this->CargarDesde(Variables::GetOption('id'));
    
    
    $this->ConsolidarArrDatos();
    $oTemplate = new Template();
    
//    prent_r($this->arrDatos);
    if($this->arrDatos["formaPago"]["Cod_Conducto_Pago"] == "1") {
      $strOcultarTarjeta = "style='display:none;'";
    } else {
      $strOcultarTarjeta = "";
    }
    
    $arrInputs = $this->GenerarInputs();
    foreach($arrInputs as $k => $v) {
      $$k = $v;
    }
    eval('$strPagina = "' . $oTemplate->Get('poliza_entrada.tpl.php') . '";');
    return $strPagina;
  }
  
  function MandarWebService($arrDatos) {
//    global $bolImprimirConEstilo;
//    $bolImprimirConEstilo = true;
    global $strGSoapNameSpace;
    $strGSoapNameSpace = "http://tempuri.org/";
    
    $oTemplate = new Template();
    $oConecta  = new Conecta();
    
    $this->LlenarDesdeArreglo($arrDatos);
    
    if(
      ($this->arrDatos["conductor2"]["A_Paterno"] == "") &&
      ($this->arrDatos["conductor2"]["A_Materno"] == "") &&
      ($this->arrDatos["conductor2"]["Nombre"   ] == "")
    ){
      unset($this->arrDatos["conductor2"]["A_Paterno"]);
      unset($this->arrDatos["conductor2"]["A_Materno"]);
      unset($this->arrDatos["conductor2"]["Nombre"   ]);
      $this->arrDatos["conductor2"]["Fec_Nacimiento"] = "0001-01-01T00:00:00";
      $this->arrDatos["conductor2"]["Edad"] = "0";
      $this->arrDatos["conductor2"]["Cod_Edo_Civil"] = "0";
      $this->arrDatos["conductor2"]["Cod_Sexo"] = "0";
    }
    
    if(!$this->arrDatos["formaPago"]["Mes_Vencimiento"]) {
      $this->arrDatos["formaPago"]["Mes_Vencimiento"] = "0";
    }
    
    if(!$this->arrDatos["formaPago"]["Anio_Vencimiento"]) {
      $this->arrDatos["formaPago"]["Anio_Vencimiento"] = "0";
    }
    
    if(!$this->arrDatos["formaPago"]["Cod_Banco"]) {
      $this->arrDatos["formaPago"]["Cod_Banco"] = "0";
    }
    
    $oCotizador = new CotizadorExtendido();
    $oCotizador->GenerarEmision($this->arrDatos);
    $strURLRespuesta = $oCotizador->ObtenerArregloRespuesta();
    if($strURLRespuesta) {
      $oConecta->Consulta("INSERT INTO datos_poliza (id_cotizacion, url_poliza) VALUES ({$arrDatos["idCotizacion"]}, '$strURLRespuesta')");
      eval('$strPagina = "' . $oTemplate->Get('poliza_generada.tpl.php') . '";');
    } else {
      $strPagina .= "<h1>Existe un problema al generar la poliza</h1><br />" . $oCotizador->__oResCliente->__getLastResponse() . "";
    }
    return $strPagina;
  }
}

?>